#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>

typedef int DataType;
typedef struct Heap{
	DataType* arr;
	int size;
	int capacity;
}Heap;

void HPInit(Heap* php);
void HPPush(Heap* php, DataType x);
void HPPop(Heap* php);
bool HPEmpty(Heap* php);
DataType HPTop(Heap* php);
void HPDestroy(Heap* php);


void AdJustDown(DataType* arr, int parent,int size);
void AdJustUP(DataType* arr, int child);

void Swap(DataType* a, DataType* b);